package org.zero.onlinesubject.service;

import org.zero.onlinesubject.common.param.LoginParam;
import org.zero.onlinesubject.common.param.RegisterParam;
import org.zero.onlinesubject.common.vo.Result;
import org.zero.onlinesubject.common.vo.UserVo;
import org.zero.onlinesubject.entity.Role;
import org.zero.onlinesubject.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 *
 */
public interface UserService extends IService<User> {

    Result<String> doLogin(LoginParam param, boolean b);

    Result<User> doRegister(RegisterParam param);

    List<Role> getRoleList();

    UserVo getUserVo(String userid);

    List<UserVo> getUserList(String classId, Integer roleId, Integer current, Integer size);

    int getUserCount(String classId, Integer roleId);

    Boolean pwdChange(String newPass);

    Boolean sendCaptcha(String email);

    Boolean verifyCaptcha(String code);

    Result<String> checkCode(String email, String code);
}
